const fs = require("fs");
const pathBase = require("path");
let path = ""; // JSON 文件的路径
let path2 = ""; // JSON 文件的路径

// 删除文件夹及其中的所有内容
function deleteDir(dirPath) {
    const files = fs.readdirSync(dirPath);
    files.forEach((file) => {
        const fullPath = pathBase.join(dirPath, file);
        const stats = fs.statSync(fullPath);

        if (stats.isDirectory()) {
            // 如果是文件夹，递归删除
            deleteDir(fullPath);
        } else {
            // 如果是文件，删除文件
            fs.unlinkSync(fullPath);
        }
    });

    // 删除空文件夹
    fs.rmdirSync(dirPath);
}

// 复制文件夹及其内容
function copyDir(src, dest) {
    // 创建目标文件夹
    if (!fs.existsSync(dest)) {
        fs.mkdirSync(dest);
    }

    // 获取源目录中的文件和子目录
    const files = fs.readdirSync(src);

    files.forEach((file) => {
        const srcPath = pathBase.join(src, file);
        const destPath = pathBase.join(dest, file);
        const stats = fs.statSync(srcPath);

        if (stats.isDirectory()) {
            // 如果是文件夹，递归拷贝
            copyDir(srcPath, destPath);
        } else {
            // 如果是文件，直接拷贝
            fs.copyFileSync(srcPath, destPath);
        }
    });
}

// 主函数：拷贝文件夹
function copyFolder(srcDir, destDir) {
    if (fs.existsSync(destDir)) {
        // 如果目标文件夹存在，先删除
        deleteDir(destDir);
    }

    // 拷贝源文件夹到目标位置
    copyDir(srcDir, destDir);
    console.log(`文件夹拷贝完成：${srcDir} -> ${destDir}`);
}
// 使用示例===================================================================================

//修改游戏===
// 使用示例
//fortunejadest_king
//crystalmine_stg
const pl_list = [
    { pt: "stg", game_list: ["crystalminest"] },
    //{ pt: "gem", game_list: ["fortunejadege"] },
    //{ pt: "king", game_list: ["fortunejadeki"] },
];

for (let index = 0; index < pl_list.length; index++) {
    const pt = pl_list[index];
    path = `C:\\david\\px\\client-pixijs\\dist\\${pt.pt}`; // 目标游戏文件夹
    const targetAsset = `E:\\dage\\hotupdatatest\\hot\\hotupdatatest\\${pt.pt}\\uat\\pixi`;
    //===================================================================================
    for (let index = 0; index < pt.game_list.length; index++) {
        const element = pt.game_list[index];
        const src_p = pathBase.join(path, element);
        const target_p = pathBase.join(targetAsset, element);
        copyFolder(src_p, target_p);
    }
}

//---
